﻿using System;

namespace LAPI.Core.Mail
{
    /// <summary>
    /// Factoría de la clase ClientSMTP
    /// </summary>
    public class ClientSMTPFactory 
    {
        /// <summary>
        /// Credenciales para autenticar en el servicio
        /// </summary>
        public static System.Net.NetworkCredential credenciales { get; set; }
        
        /// <summary>
        /// Puerto del servicio
        /// </summary>
        public static Int32 puerto { get; set; }

        /// <summary>
        /// Host del servicio
        /// </summary>
        public static String host { get; set; }

        /// <summary>
        /// Flag para indicar si necesita conexión SSL
        /// </summary>
        public static Boolean ssl { get; set; }

        /// <summary>
        /// Método para obtener una instancia del cliente smtp, conectada al servicio
        /// </summary>
        /// <returns>ClientSMTP conectado al servicio</returns>
        public static ClientSMTP getClientSMTP()
        {
            return new ClientSMTP(credenciales: credenciales, puerto: puerto, host: host, ssl: ssl);
        }
    }
}
